The present invention relates to logic circuits for data storage in general, and in particular to a data storage element such as a flip-flop having input and output ports which are isolated from the regenerative switching circuit.
Data storage elements, such as flip-flops, latches, and multivibrators, are among the basic building blocks for digital logic circuits. These elements are commercially available in a wide variety of types and complexities, depending upon the intended use. They have in common, however, a pair of output ports which are complementary (one at a high binary level while the other is low) and a regenerative loop to ensure switching from one stable state to another (and thereby causing the outputs to switch states) when activated by some input condition. The regenerative switching circuit may in fact be activated upon a number of input events, such as arrival of clock edges, data, or preset or clear control signals. Thus a problem arises for systems in which data transitions and clock edges which are unrelated to each other (asynchronous) arrive in such close timing proximity that a metastable state exists in the regenerative loop, i.e., the final states to which the outputs are switched is uncertain and may go either way, which may result in error in the output data.
Prior art data storage elements have circuit topologies in which the input and output ports are coupled to the regenerative loop in such a manner that both input and output signals or data transitions within the loop are coupled to the inherent capacitance of the active devices performing the input-output coupling, in effect adding capacitance to the regenerative loop and hence reducing the speed with which the loop can leave the metastable state.
For high speed asynchronous data acquisition systems wherein a number of data storage elements may be linked together to form a shift register, the susceptibility of the data storage elements being placed in a metastable state, thus increasing the probability of error, limits the rate at which data can be acquired.